perm filename D3[AM,DBL]1 blob sn#211588 filedate 1976-04-16 generic text, type T, neo UTF8
(FILECREATED "13-APR-76 14:15:33" <LENAT>D3.;1 32723  

     changes to:  D3COMS CANDS GCNT)


  (LISPXPRINT (QUOTE D3COMS)
	      T T)
  [RPAQQ D3COMS (D3FNS D3CONS DO-THRESH INTHRESH CANDS GCNT [COMS * (LIST (CONS (QUOTE IFPROP)
										(CONS (QUOTE ALL)
										      D3CONS]
		       (P (MAPC D3CONS (QUOTE NEW-CON))
			  (MAPC (QUOTE (INV-ADD FACTOR ADD-FACTOR INV-MULTIPLY))
				(QUOTE KILLB)))
		       (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA)
											     (NLAML]
  (RPAQQ D3FNS (ALWAYS-DEFINED ALWAYS-UNIQUE ANG ANG-EQ INTERCEPT LIN MEAS NUM-BETWEEN POINTP PT RDIST SLOPE SQ TRI))
  (RPAQQ D3CONS (ANGLE ANGLE-EQUAL BETWEEN COLLINEAR COLLINEAR-STRUC DISTANCE DRAW-ANGLE DRAW-LINE DRAW-TRIANGLE FUNC 
		       LINE LINE-EQUAL MEASURE-ANGLE MEASURE-TRIANGLE POINT RIGHT-ANGLE STRAIGHT-ANGLE TRIANGLE 
		       TRIANGLE-EQUAL))
  (RPAQQ DO-THRESH 131)
  (RPAQQ INTHRESH 43)
  [RPAQQ CANDS (((FILLIN STRAIGHT-ANGLE EXS)
	   453
	   ((We have no examples for STRAIGHT-ANGLE yet)
	    (Any example of a STRAIGHT-ANGLE is an unusual and extreme example of a ANGLE)))
	  ((FILLIN LINE-EQUAL EXS)
	   453
	   ((We have no examples for LINE-EQUAL yet)
	    (Anyb-exs specifically asked for some examples of LINE-EQUAL ", " while trying to "Fill in some" Multiply 
		      "examples")))
	  ((FILLIN RIGHT-ANGLE EXS)
	   453
	   ((We have no examples for RIGHT-ANGLE yet)
	    (Any example of a RIGHT-ANGLE is an unusual example of a ANGLE)))
	  ((FILLIN COLLINEAR-STRUC EXS)
	   453
	   ((We have no examples for COLLINEAR-STRUC yet)
	    (Anyb-exs specifically asked for some examples of COLLINEAR-STRUC ", " while trying to "Fill in some" 
		      Straight-angle "examples")))
	  ((FILLIN MEASURE-ANGLE EXS)
	   391
	   ((We have no examples for MEASURE-ANGLE yet)
	    (Anyb-exs specifically asked for some examples of MEASURE-ANGLE ", " while trying to "Fill in some" 
		      Straight-angle "examples")
	    (Anyb-exs specifically asked for some examples of MEASURE-ANGLE ", " while trying to "Fill in some" 
		      Right-angle "examples")))
	  ((FILLIN FUNC EXS-BDY)
	   270
	   ((We have no boundary-examples for FUNC yet)))
	  ((CHECK STRAIGHT-ANGLE EXS-NOT-BDY)
	   254
	   ((Some "things which just barely miss being examples" were recently added to STRAIGHT-ANGLE ", " entries 
		  that are positive examples of cousins of STRAIGHT-ANGLE)))
	  ((FILLIN MULTIPLY EXS-NOT-BDY)
	   250
	   ((Failed to find examples of
		    ((FILLIN MULTIPLY EXS)
		     445
		     ((We have no examples for MULTIPLY yet)
		      (Anyb-exs specifically asked for some examples of MULTIPLY ", " while trying to "Fill in some" 
				Int-set-struc "examples"))
		     NIL)
		    -ing ", " and have not recently tried to find non-examples of it ; We may get examples indirectly 
		    when we now search for non-examples)))
	  ((FILLIN TRIANGLE-EQUAL EXS)
	   268
	   ((We have no examples for TRIANGLE-EQUAL yet)
	    (Anyb-exs specifically asked for some examples of TRIANGLE-EQUAL ", " while trying to "Fill in some" 
		      Multiply "examples")))
	  ((FILLIN COLLINEAR EXS)
	   250
	   ((We have no examples for COLLINEAR yet)
	    (Anyb-exs specifically asked for some examples of COLLINEAR ", " while trying to "Fill in some" Multiply 
		      "examples")))
	  ((FILLIN BETWEEN EXS)
	   250
	   ((We have no examples for BETWEEN yet)
	    (Anyb-exs specifically asked for some examples of BETWEEN ", " while trying to "Fill in some" Multiply 
		      "examples")))
	  ((FILLIN ANGLE-EQUAL EXS)
	   268
	   ((We have no examples for ANGLE-EQUAL yet)
	    (Anyb-exs specifically asked for some examples of ANGLE-EQUAL ", " while trying to "Fill in some" Multiply 
		      "examples")))
	  ((FILLIN BAG-OF-PRIMES EXS)
	   262
	   ((We have no examples for BAG-OF-PRIMES yet)
	    (Anyb-exs specifically asked for some examples of BAG-OF-PRIMES ", " while trying to "Fill in some" 
		      Multiply "examples")))
	  ((FILLIN BAG-OF-NUMBERS EXS)
	   262
	   ((We have no examples for BAG-OF-NUMBERS yet)
	    (Anyb-exs specifically asked for some examples of BAG-OF-NUMBERS ", " while trying to "Fill in some" 
		      Multiply "examples")))
	  ((FILLIN ADD EXS)
	   249
	   ((We have no examples for ADD yet)
	    (Anyb-exs specifically asked for some examples of ADD ", " while trying to "Fill in some" Multiply 
		      "examples")))
	  ((FILLIN OBJ-EQUAL EXS-BDY)
	   216
	   ((We have no boundary-examples for OBJ-EQUAL yet)))
	  ((FILLIN PROJ1 EXS)
	   206
	   ((Anyb-exs specifically asked for some examples of PROJ1 ", " while trying to "Fill in some" Multiply 
		      "examples")
	    (Anyb-exs specifically asked for some examples of PROJ1 ", " while trying to "Fill in some" Int-set-struc 
		      "examples")))
	  ((FILLIN DRAW-TRIANGLE EXS)
	   208
	   ((We have no examples for DRAW-TRIANGLE yet)
	    (Anyb-exs specifically asked for some examples of DRAW-TRIANGLE ", " while trying to "Fill in some" 
		      Multiply "examples")))
	  ((FILLIN DRAW-LINE EXS)
	   208
	   ((We have no examples for DRAW-LINE yet)
	    (Anyb-exs specifically asked for some examples of DRAW-LINE ", " while trying to "Fill in some" Multiply 
		      "examples")))
	  ((FILLIN DRAW-ANGLE EXS)
	   208
	   ((We have no examples for DRAW-ANGLE yet)
	    (Anyb-exs specifically asked for some examples of DRAW-ANGLE ", " while trying to "Fill in some" Multiply 
		      "examples")))
	  ((FILLIN COLLINEAR-STRUC EXS-BDY)
	   190
	   ((We have no boundary-examples for COLLINEAR-STRUC yet)))
	  ((FILLIN RIGHT-ANGLE EXS-BDY)
	   190
	   ((We have no boundary-examples for RIGHT-ANGLE yet)))
	  ((FILLIN STRAIGHT-ANGLE EXS-BDY)
	   190
	   ((We have no boundary-examples for STRAIGHT-ANGLE yet)))
	  ((FILLIN COALESCE EXS)
	   185
	   ((We have no examples for COALESCE yet)
	    (Anyb-exs specifically asked for some examples of COALESCE ", " while trying to "Fill in some" Multiply 
		      "examples")))
	  ((FILLIN COMPOSE EXS)
	   185
	   ((We have no examples for COMPOSE yet)
	    (Anyb-exs specifically asked for some examples of COMPOSE ", " while trying to "Fill in some" Multiply 
		      "examples"]
  (RPAQQ GCNT 40)
  (PUTPROPS ANGLE GENL (OBJECT ORD-OBJ) 
                  WORTH (700 500 0 300) 
                  DEFN [(TYPE NONRECURSIVE OPAQUE (MATCH BA1 WITH ('ANG &@POINTP &@POINTP &@POINTP] 
                  IN-RAN-OF (DRAW-ANGLE) 
                  UP (ANY-STRUC) 
                  EXS ((ANG (PT 30 3)
			    (PT 1 21)
			    (PT 1 3))
		       (ANG (PT 13 5)
			    (PT 26 29)
			    (PT 30 21))
		       (ANG (PT 19 23)
			    (PT 19 6)
			    (PT 30 4))
		       (ANG (PT 30 29)
			    (PT 28 19)
			    (PT 3 26))
		       (ANG (PT 14 18)
			    (PT 14 30)
			    (PT 25 24))
		       (ANG (PT 21 15)
			    (PT 23 24)
			    (PT 7 29))
		       (ANG (PT 12 3)
			    (PT 17 6)
			    (PT 20 30))
		       (ANG (PT 26 22)
			    (PT 25 3)
			    (PT 30 20))
		       (ANG (PT 19 20)
			    (PT 11 12)
			    (PT 18 29))
		       (ANG (PT 18 11)
			    (PT 30 7)
			    (PT 2 18))
		       (ANG (PT 2 19)
			    (PT 2 27)
			    (PT 10 21))
		       (ANG (PT 23 25)
			    (PT 8 7)
			    (PT 30 14))
		       (ANG (PT 9 5)
			    (PT 28 29)
			    (PT 15 4))
		       (ANG (PT 2 1)
			    (PT 16 24)
			    (PT 1 23))
		       (ANG (PT 1 20)
			    (PT 28 30)
			    (PT 15 10))
		       (ANG (PT 11 10)
			    (PT 19 20)
			    (PT 10 12))
		       (ANG (PT 16 28)
			    (PT 1 16)
			    (PT 23 29))
		       (ANG (PT 16 5)
			    (PT 11 12)
			    (PT 21 4))
		       (ANG (PT 10 4)
			    (PT 4 30)
			    (PT 28 24))
		       (ANG (PT 11 5)
			    (PT 10 11)
			    (PT 12 19))
		       (ANG (PT 0 22)
			    (PT 24 5)
			    (PT 30 0))
		       (ANG (PT 0 5)
			    (PT 8 10)
			    (PT 28 28))
		       (ANG (PT 15 29)
			    (PT 30 21)
			    (PT 21 25))
		       (ANG (PT 30 30)
			    (PT 25 21)
			    (PT 18 23))
		       (ANG (PT 10 28)
			    (PT 29 15)
			    (PT 8 10))
		       (ANG (PT 0 30)
			    (PT 1 0)
			    (PT 10 13))
		       (ANG (PT 11 28)
			    (PT 3 18)
			    (PT 9 27))
		       (ANG (PT 20 0)
			    (PT 29 1)
			    (PT 23 30))
		       (ANG (PT 19 15)
			    (PT 6 8)
			    (PT 14 1))
		       (ANG (PT 24 30)
			    (PT 20 16)
			    (PT 12 19))
		       (ANG (PT 4 0)
			    (PT 0 0)
			    (PT 0 5))
		       (ANG (PT 0 0)
			    (PT 3 3)
			    (PT 12 12))) 
                  EXS-BDY ((ANG (PT 0 0)
				(PT 1 1)
				(PT 10 10))
			   (ANG (PT 1 0)
				(PT 0 0)
				(PT 0 5))) 
                  EXS-NOT-BDY ((VECTOR (PT 1 3)
				       (PT 2 5)
				       (PT 33 0))) 
                  EXS-NOT (T NIL (ANG)
			     (BAG)) 
                  IN-DOM-OF (ANGLE-EQUAL) 
                  SPEC (RIGHT-ANGLE STRAIGHT-ANGLE) 
                  UP-NOT (ACTIVE))
  (PUTPROPS ANGLE-EQUAL WORTH (400 200 100 60) 
                        ALGS [(TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE ANGLE)
								     (QUOTE DEFN)
								     BA1)
							     (APPLYB (QUOTE ANGLE)
								     (QUOTE DEFN)
								     BA2)
							     (EQUAL (APPLYB (QUOTE MEASURE-ANGLE)
									    (QUOTE ALGS)
									    BA1)
								    (APPLYB (QUOTE MEASURE-ANGLE)
									    (QUOTE ALGS)
									    BA2))
							     (EQUAL (VERTEX BA1)
								    (VERTEX BA2))
							     (EQUAL (ANGLE-ORIENTATION BA1)
								    (ANGLE-ORIENTATION BA2] 
                        D-R ((ANGLE ANGLE TRUTH-VAL)) 
                        GUP (PREDICATE) 
                        DEFN [(TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE ANGLE)
								     (QUOTE DEFN)
								     BA1)
							     (APPLYB (QUOTE ANGLE)
								     (QUOTE DEFN)
								     BA2)
							     (EQUAL (APPLYB (QUOTE MEASURE-ANGLE)
									    (QUOTE ALGS)
									    BA1)
								    (APPLYB (QUOTE MEASURE-ANGLE)
									    (QUOTE ALGS)
									    BA2))
							     (EQUAL (VERTEX BA1)
								    (VERTEX BA2))
							     (EQUAL (ANGLE-ORIENTATION BA1)
								    (ANGLE-ORIENTATION BA2] 
                        UP (PREDICATE ACTIVE) 
                        EXS-NOT-BDY [((ANG (PT 30 30)
					   (PT 25 21)
					   (PT 18 23))
				      (ANG (PT 14 18)
					   (PT 14 30)
					   (PT 25 24)))
				     (CLASS (ANG (PT 19 15)
						 (PT 6 8)
						 (PT 14 1)))
				     ((ANG (PT 30 30)
					   (PT 25 21)
					   (PT 18 23))
				      (ANG (PT 26 22)
					   (PT 25 3)
					   (PT 30 20)))
				     ((ANG (PT 30 3)
					   (PT 1 21)
					   (PT 1 3))
				      (ANG (PT 2 19)
					   (PT 2 27)
					   (PT 10 21)))
				     ((ANG (PT 11 10)
					   (PT 19 20)
					   (PT 10 12))
				      (ANG (PT 30 29)
					   (PT 28 19)
					   (PT 3 26)))
				     ((ANG (PT 0 5)
					   (PT 8 10)
					   (PT 28 28))
				      (ANG (PT 19 23)
					   (PT 19 6)
					   (PT 30 4])
  (PUTPROPS BETWEEN WORTH (300 200 400 60) 
                    ALGS ((TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE COLLINEAR)
								 (QUOTE DEFN)
								 BA1 BA2 BA3)
							 (NUM-BETWEEN (CADDR BA2)
								      (CADDR BA1)
								      (CADDR BA3))
							 (NUM-BETWEEN (CADR BA2)
								      (CADR BA1)
								      (CADR BA3))
							 T))) 
                    D-R ((POINT POINT POINT TRUTH-VAL)) 
                    DEFN ((TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE COLLINEAR)
								 (QUOTE DEFN)
								 BA1 BA2 BA3)
							 (NUM-BETWEEN (CADDR BA2)
								      (CADDR BA1)
								      (CADDR BA3))
							 (NUM-BETWEEN (CADR BA2)
								      (CADR BA1)
								      (CADR BA3))
							 T))) 
                    GENL (COLLINEAR))
  (PUTPROPS COLLINEAR WORTH (300 200 400 60) 
                      ALGS [(TYPE QUASIRECURSIVE REDUCING-TO LINE-EQUAL (AND (POINTP BA1)
									     (POINTP BA2)
									     (POINTP BA3)
									     (APPLYB (QUOTE LINE-EQUAL)
										     (QUOTE ALGS)
										     (APPLYB (QUOTE DRAW-LINE)
											     (QUOTE ALGS)
											     BA1 BA2)
										     (APPLYB (QUOTE DRAW-LINE)
											     (QUOTE ALGS)
											     BA1 BA3] 
                      SPEC (BETWEEN) 
                      D-R ((POINT POINT POINT TRUTH-VAL)) 
                      GUP (PREDICATE) 
                      DEFN [(TYPE QUASIRECURSIVE REDUCING-TO LINE-EQUAL (AND (POINTP BA1)
									     (POINTP BA2)
									     (POINTP BA3)
									     (APPLYB (QUOTE LINE-EQUAL)
										     (QUOTE DEFN)
										     (APPLYB (QUOTE DRAW-LINE)
											     (QUOTE ALGS)
											     BA1 BA2)
										     (APPLYB (QUOTE DRAW-LINE)
											     (QUOTE ALGS)
											     BA1 BA3] 
                      UP (PREDICATE ACTIVE))
  (PUTPROPS COLLINEAR-STRUC GENL (OBJECT) 
                            WORTH (700 500 0 350 0 0 0 0 0 0 0 0) 
                            DEFN [(TYPE NONRECURSIVE OPAQUE (COND ((MATCH BA1 WITH (& &@POINTP &@POINTP))
								   T)
								  ((MATCH BA1 WITH (& &@POINTP &@POINTP &@POINTP))
								   (APPLYB (QUOTE COLLINEAR)
									   (QUOTE DEFN)
									   (CADR BA1)
									   (CADDR BA1)
									   (CADDDR BA1)))
								  ((MATCH BA1 WITH (& &@POINTP &@POINTP &@POINTP 
										      &@POINTP))
								   (AND (APPLYB (QUOTE COLLINEAR)
										(QUOTE DEFN)
										(CADR BA1)
										(CADDR BA1)
										(CADDDR BA1))
									(APPLYB (QUOTE COLLINEAR)
										(QUOTE DEFN)
										(CADDR BA1)
										(CADDDR BA1)
										(CADDDDR BA1] 
                            ALGS [(TYPE NONRECURSIVE OPAQUE (COND ((MATCH BA1 WITH (& &@POINTP &@POINTP))
								   T)
								  ((MATCH BA1 WITH (& &@POINTP &@POINTP &@POINTP))
								   (APPLYB (QUOTE COLLINEAR)
									   (QUOTE DEFN)
									   (CADR BA1)
									   (CADDR BA1)
									   (CADDDR BA1)))
								  ((MATCH BA1 WITH (& &@POINTP &@POINTP &@POINTP 
										      &@POINTP))
								   (AND (APPLYB (QUOTE COLLINEAR)
										(QUOTE DEFN)
										(CADR BA1)
										(CADDR BA1)
										(CADDDR BA1))
									(APPLYB (QUOTE COLLINEAR)
										(QUOTE DEFN)
										(CADDR BA1)
										(CADDDR BA1)
										(CADDDDR BA1] 
                            UP (ANY-STRUC) 
                            UP-NOT (ACTIVE))
  (PUTPROPS DISTANCE WORTH (100 100 0 400) 
                     ALGS [(TYPE NONRECURSIVE OPAQUE QUICK
				 (AND (POINTP BA1)
				      (POINTP BA2)
				      (FIX (PLUS .5 (SQRT (PLUS (SQ (DIFFERENCE (CADR BA1)
										(CADR BA2)))
								(SQ (DIFFERENCE (CADDR BA1)
										(CADDR BA2] 
                     D-R ((POINT POINT NUMBER)) 
                     GUP (FUNC) 
                     UP (FUNC OPERATION ACTIVE) 
                     DEFN [(TYPE NONRECURSIVE OPAQUE QUICK
				 (AND (POINTP BA1)
				      (POINTP BA2)
				      (EQUAL BA3 (FIX (PLUS .5 (SQRT (PLUS (SQ (DIFFERENCE (CADR BA1)
											   (CADR BA2)))
									   (SQ (DIFFERENCE (CADDR BA1)
											   (CADDR BA2] 
                     EXS (((PT 0 0)
			   (PT 3 0)
			   3)
			  ((PT 3 0)
			   (PT 0 0)
			   3)
			  ((PT 3 3)
			   (PT 6 7)
			   5)) 
                     EXS-BDY (((PT 0 0)
			       (PT 0 0)
			       0)
			      ((PT 11 6)
			       (PT 11 6)
			       0)))
  (PUTPROPS DRAW-ANGLE WORTH (300 100 0 50) 
                       ALGS [(TYPE NONRECURSIVE OPAQUE QUICK (AND (POINTP BA1)
								  (POINTP BA2)
								  (POINTP BA3)
								  (NOT (EQUAL BA3 BA2))
								  (NOT (EQUAL BA1 BA2))
								  (CONS (QUOTE ANG)
									(SORT (LIST BA1 BA2 BA3)
									      (QUOTE SORD] 
                       D-R ((POINT POINT POINT ANGLE)) 
                       GUP (FUNC) 
                       UP (FUNC OPERATION ACTIVE) 
                       DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND BA1 BA2 BA3 BA4 (EQUAL BA4 (APPLYB (QUOTE DRAW-ANGLE)
												     (QUOTE ALGS)
												     BA1 BA2 BA3])
  (PUTPROPS DRAW-LINE WORTH (300 100 0 50) 
                      ALGS [(TYPE NONRECURSIVE OPAQUE QUICK (AND (POINTP BA1)
								 (POINTP BA2)
								 (NOT (EQUAL BA1 BA2))
								 (CONS (QUOTE LIN)
								       (SORT (LIST BA1 BA2)
									     (QUOTE SORD] 
                      D-R ((POINT POINT LINE)) 
                      GUP (FUNC) 
                      UP (FUNC OPERATION ACTIVE) 
                      DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND BA1 BA2 BA3 (EQUAL BA3 (APPLYB (QUOTE DRAW-LINE)
												(QUOTE ALGS)
												BA1 BA2])
  (PUTPROPS DRAW-TRIANGLE WORTH (300 100 0 50) 
                          ALGS [(TYPE NONRECURSIVE OPAQUE QUICK (AND (POINTP BA1)
								     (POINTP BA2)
								     (POINTP BA3)
								     (NOT (EQUAL BA3 BA2))
								     (NOT (EQUAL BA1 BA3))
								     (NOT (EQUAL BA1 BA2))
								     (CONS (QUOTE TRI)
									   (SORT (LIST BA1 BA2 BA3)
										 (QUOTE SORD] 
                          D-R ((POINT POINT POINT TRIANGLE)) 
                          GUP (FUNC) 
                          UP (FUNC OPERATION ACTIVE) 
                          DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND BA1 BA2 BA3 BA4 (EQUAL BA4 (APPLYB (QUOTE 
												      DRAW-TRIANGLE)
													(QUOTE ALGS)
													BA1 BA2 BA3])
  (PUTPROPS FUNC GENL (OPERATION) 
                 WORTH (800 900 200 0) 
                 EXS (PROJ1 PROJ2 REAR REV-ORD-PAIR STRUCTURE-DELETE STRUCTURE-DIFF STRUCTURE-INSERT 
			    STRUCTURE-INTERSECT BAG-STRUC-DIFF BAG-STRUC-JOIN FINAL FIRST MAP-JOIN MAP-REPLACE 
			    MAP-REPLACE2 SET-STRUC-INTERSECT ADD CROSS-PRODUCT DIVIDE INV-SQUARE MAXI MINI MULTIPLY 
			    SUBTRACT DISTANCE DRAW-LINE MEASURE-ANGLE DRAW-ANGLE DRAW-TRIANGLE MEASURE-TRIANGLE) 
                 DEFN [(TYPE NONRECURSIVE OPAQUE (OR (FMEMB BA1 (ACEX FUNC))
						     (AND (ALWAYS-DEFINED BA1)
							  (ALWAYS-UNIQUE BA1])
  (PUTPROPS LINE GENL (OBJECT) 
                 WORTH (700 500 0 300) 
                 DEFN [(TYPE NONRECURSIVE OPAQUE (MATCH BA1 WITH ('LIN &@POINTP &@POINTP] 
                 IN-RAN-OF (DRAW-LINE) 
                 UP (ANY-STRUC) 
                 EXS ((LIN (PT 4 17)
			   (PT 2 25))
		      (LIN (PT 2 34)
			   (PT 6 5))
		      (LIN (PT 2 36)
			   (PT 12 24))
		      (LIN (PT 19 3)
			   (PT 37 16))
		      (LIN (PT 34 10)
			   (PT 11 31))
		      (LIN (PT 16 39)
			   (PT 14 7))
		      (LIN (PT 10 12)
			   (PT 34 24))
		      (LIN (PT 23 9)
			   (PT 30 7))
		      (LIN (PT 26 27)
			   (PT 22 24))
		      (LIN (PT 37 22)
			   (PT 40 12))
		      (LIN (PT 6 37)
			   (PT 34 15))
		      (LIN (PT 17 26)
			   (PT 6 3))
		      (LIN (PT 3 21)
			   (PT 39 5))
		      (LIN (PT 40 32)
			   (PT 28 18))
		      (LIN (PT 23 10)
			   (PT 29 8))
		      (LIN (PT 22 33)
			   (PT 1 38))
		      (LIN (PT 6 32)
			   (PT 31 19))
		      (LIN (PT 2 34)
			   (PT 8 11))
		      (LIN (PT 20 9)
			   (PT 8 22))
		      (LIN (PT 33 5)
			   (PT 39 31))
		      (LIN (PT 22 6)
			   (PT 21 20))
		      (LIN (PT 25 26)
			   (PT 13 9))
		      (LIN (PT 10 25)
			   (PT 9 0))
		      (LIN (PT 17 21)
			   (PT 1 7))
		      (LIN (PT 16 22)
			   (PT 38 9))
		      (LIN (PT 35 12)
			   (PT 18 8))
		      (LIN (PT 35 4)
			   (PT 13 40))
		      (LIN (PT 40 38)
			   (PT 36 19))
		      (LIN (PT 35 31)
			   (PT 37 22))
		      (LIN (PT 2 12)
			   (PT 25 18))
		      (LIN (PT 4 33)
			   (PT 19 12))
		      (LIN (PT 8 4)
			   (PT 15 40))
		      (LIN (PT 8 5)
			   (PT 16 6))
		      (LIN (PT 22 17)
			   (PT 27 10))
		      (LIN (PT 8 28)
			   (PT 39 4))
		      (LIN (PT 35 22)
			   (PT 31 0))
		      (LIN (PT 25 27)
			   (PT 17 18))
		      (LIN (PT 2 33)
			   (PT 6 0))
		      (LIN (PT 36 36)
			   (PT 10 27))
		      (LIN (PT 10 10)
			   (PT 31 11))
		      (LIN (PT 35 20)
			   (PT 30 30))
		      (LIN (PT 7 26)
			   (PT 32 29))
		      (LIN (PT 21 33)
			   (PT 40 38))
		      (LIN (PT 38 24)
			   (PT 7 29))
		      (LIN (PT 32 7)
			   (PT 0 4))
		      (LIN (PT 4 34)
			   (PT 23 23))
		      (LIN (PT 39 17)
			   (PT 9 32))
		      (LIN (PT 7 37)
			   (PT 39 18))
		      (LIN (PT 9 39)
			   (PT 12 3))
		      (LIN (PT 38 16)
			   (PT 40 14))) 
                 EXS-BDY ((LIN (PT 0 0)
			       (PT 0 0))) 
                 EXS-NOT-BDY ((PAIR (PT 10 10)
				    (PT 10 10))
			      (LIN (PT 10 10))) 
                 EXS-NOT (T NIL (LIN)
			    (BAG)) 
                 IN-DOM-OF (LINE-EQUAL) 
                 UP-NOT (ACTIVE))
  (PUTPROPS LINE-EQUAL WORTH (600 200 100 60) 
                       ALGS ((TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE LINE)
								    (QUOTE DEFN)
								    BA1)
							    (APPLYB (QUOTE LINE)
								    (QUOTE DEFN)
								    BA2)
							    (EQUAL (SLOPE BA1)
								   (SLOPE BA2))
							    (EQUAL (INTERCEPT BA1)
								   (INTERCEPT BA2))
							    T))) 
                       D-R ((LINE LINE TRUTH-VAL)) 
                       GUP (PREDICATE) 
                       DEFN ((TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE LINE)
								    (QUOTE DEFN)
								    BA1)
							    (APPLYB (QUOTE LINE)
								    (QUOTE DEFN)
								    BA2)
							    (EQUAL (SLOPE BA1)
								   (SLOPE BA2))
							    (EQUAL (INTERCEPT BA1)
								   (INTERCEPT BA2))
							    T))) 
                       UP (PREDICATE ACTIVE) 
                       GENL (GENL-LINE-EQUAL GENL-LINE-EQUAL-1))
  (PUTPROPS MEASURE-ANGLE WORTH (600 100 0 600) 
                          ALGS [(TYPE NONRECURSIVE OPAQUE QUICK (AND (APPLYB (QUOTE ANGLE)
									     (QUOTE DEFN)
									     BA1)
								     (NOT (EQUAL (CADR BA1)
										 (CADDR BA1)))
								     (NOT (EQUAL (CADDR BA1)
										 (CADDDR BA1)))
								     (FIX (PLUS .5 (MEAS (CADR BA1)
											 (CADDR BA1)
											 (CADDDR BA1] 
                          D-R ((ANGLE NUMBER)) 
                          GUP (FUNC) 
                          UP (FUNC OPERATION ACTIVE) 
                          DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (APPLYB (QUOTE ANGLE)
									     (QUOTE DEFN)
									     BA1)
								     (NUMBERP BA2)
								     (NOT (EQUAL (CADR BA1)
										 (CADDR BA1)))
								     (NOT (EQUAL (CADDR BA1)
										 (CADDDR BA1)))
								     (EQUAL BA2 (FIX (PLUS .5 (MEAS (CADR BA1)
												    (CADDR BA1)
												    (CADDDR BA1])
  (PUTPROPS MEASURE-TRIANGLE WORTH (600 100 0 600) 
                             DEFN [(TYPE NONRECURSIVE OPAQUE QUICK
					 (AND (APPLYB (QUOTE TRIANGLE)
						      (QUOTE DEFN)
						      BA1)
					      (APPLYB (QUOTE BAG-OF-NUMBERS)
						      (QUOTE DEFN)
						      BA2)
					      (EQUAL BA2 (CONS (QUOTE BAG)
							       (SORT (LIST (APPLYB (QUOTE DISTANCE)
										   (QUOTE ALGS)
										   (CADR BA1)
										   (CADDR BA1))
									   (APPLYB (QUOTE DISTANCE)
										   (QUOTE ALGS)
										   (CADR BA1)
										   (CADDDR BA1))
									   (APPLYB (QUOTE DISTANCE)
										   (QUOTE ALGS)
										   (CADDDR BA1)
										   (CADDR BA1] 
                             D-R ((TRIANGLE BAG-OF-NUMBERS)) 
                             GUP (FUNC) 
                             UP (FUNC OPERATION ACTIVE INVERTED-OP) 
                             ALGS [(TYPE NONRECURSIVE OPAQUE QUICK (AND (APPLYB (QUOTE TRIANGLE)
										(QUOTE DEFN)
										BA1)
									(CONS (QUOTE BAG)
									      (SORT (LIST (APPLYB (QUOTE DISTANCE)
												  (QUOTE ALGS)
												  (CADR BA1)
												  (CADDR BA1))
											  (APPLYB (QUOTE DISTANCE)
												  (QUOTE ALGS)
												  (CADR BA1)
												  (CADDDR BA1))
											  (APPLYB (QUOTE DISTANCE)
												  (QUOTE ALGS)
												  (CADDDR BA1)
												  (CADDR BA1] 
                             UP-NOT (PREDICATE INVERTED-OP) 
                             EXS (((TRI (PT 20 2)
					(PT 2 16)
					(PT 8 5))
				   (BAG 12 13 23))
				  ((TRI (PT 10 11)
					(PT 10 14)
					(PT 14 17))
				   (BAG 3 5 7))
				  ((TRI (PT 7 0)
					(PT 2 5)
					(PT 18 11))
				   (BAG 7 16 17))
				  ((TRI (PT 14 2)
					(PT 7 2)
					(PT 3 15))
				   (BAG 7 14 17))
				  ((TRI (PT 15 6)
					(PT 14 8)
					(PT 10 19))
				   (BAG 2 12 14))
				  ((TRI (PT 17 7)
					(PT 6 9)
					(PT 6 0))
				   (BAG 9 11 13))
				  ((TRI (PT 15 4)
					(PT 13 0)
					(PT 16 17))
				   (BAG 4 13 17))
				  ((TRI (PT 13 7)
					(PT 5 10)
					(PT 3 4))
				   (BAG 6 9 10))
				  ((TRI (PT 2 2)
					(PT 18 13)
					(PT 0 18))
				   (BAG 16 19 19))
				  ((TRI (PT 3 10)
					(PT 12 11)
					(PT 2 10))
				   (BAG 1 9 10))
				  ((TRI (PT 20 6)
					(PT 3 1)
					(PT 1 8))
				   (BAG 7 18 19))
				  ((TRI (PT 16 10)
					(PT 6 3)
					(PT 1 3))
				   (BAG 5 12 17))))
  (PUTPROPS POINT CLISPISPROP (point) 
                  GENL (OBJECT) 
                  IN-DOM-OF (DISTANCE DRAW-LINE COLLINEAR BETWEEN MIDPOINT MEASURE-ANGLE) 
                  WORTH (700 500 0 300) 
                  DEFN ((TYPE NONRECURSIVE OPAQUE (POINTP BA1))) 
                  IN-RAN-OF (MIDPOINT VERTEX) 
                  UP (ANY-STRUC) 
                  EXS ((PT 0 0)
		       (PT 10 10)
		       (PT 0 10)
		       (PT 10 0)
		       (PT 0 20)
		       (PT 30 30)) 
                  EXS-BDY ((PT 0 0)) 
                  EXS-NOT-BDY ((PAIR 10 10)
			       (PT 10)) 
                  EXS-NOT (T NIL (PT)
			     (BAG)) 
                  UP-NOT (ACTIVE))
  (PUTPROPS RIGHT-ANGLE GENL (ANGLE) 
                        WORTH (700 500 0 350) 
                        DEFN ((TYPE QUASIRECURSIVE REDUCING-TO MEASURE-ANGLE (APPLYB (QUOTE MEASURE-ANGLE)
										     (QUOTE DEFN)
										     BA1 90))) 
                        UP-NOT (ACTIVE))
  (PUTPROPS STRAIGHT-ANGLE GENL (ANGLE) 
                           WORTH (700 500 0 350) 
                           DEFN ((TYPE QUASIRECURSIVE REDUCING-TO MEASURE-ANGLE (APPLYB (QUOTE MEASURE-ANGLE)
											(QUOTE DEFN)
											BA1 180))) 
                           UP-NOT (ACTIVE PREDICATE))
  (PUTPROPS TRIANGLE GENL (OBJECT UNORD-OBJ) 
                     WORTH (700 500 0 300) 
                     DEFN [(TYPE NONRECURSIVE OPAQUE (MATCH BA1 WITH ('TRI &@POINTP &@POINTP &@POINTP] 
                     IN-RAN-OF (DRAW-TRIANGLE) 
                     UP (ANY-STRUC) 
                     EXS ((TRI (PT 18 5)
			       (PT 37 29)
			       (PT 6 19))
			  (TRI (PT 19 11)
			       (PT 3 29)
			       (PT 8 24))
			  (TRI (PT 37 22)
			       (PT 0 12)
			       (PT 16 11))
			  (TRI (PT 30 17)
			       (PT 39 22)
			       (PT 13 24))
			  (TRI (PT 23 9)
			       (PT 27 1)
			       (PT 2 14))
			  (TRI (PT 28 31)
			       (PT 40 24)
			       (PT 20 1))
			  (TRI (PT 0 7)
			       (PT 11 14)
			       (PT 4 10))
			  (TRI (PT 34 15)
			       (PT 18 31)
			       (PT 21 7))
			  (TRI (PT 11 13)
			       (PT 38 37)
			       (PT 23 0))
			  (TRI (PT 18 19)
			       (PT 9 5)
			       (PT 20 13))
			  (TRI (PT 13 10)
			       (PT 9 28)
			       (PT 1 10))
			  (TRI (PT 18 40)
			       (PT 27 21)
			       (PT 24 32))
			  (TRI (PT 15 5)
			       (PT 15 6)
			       (PT 14 12))
			  (TRI (PT 19 14)
			       (PT 8 15)
			       (PT 23 31))
			  (TRI (PT 8 34)
			       (PT 4 3)
			       (PT 31 11))
			  (TRI (PT 34 24)
			       (PT 27 11)
			       (PT 13 40))
			  (TRI (PT 0 35)
			       (PT 36 5)
			       (PT 19 14))
			  (TRI (PT 8 10)
			       (PT 17 36)
			       (PT 17 32))
			  (TRI (PT 16 8)
			       (PT 26 39)
			       (PT 36 29))
			  (TRI (PT 4 15)
			       (PT 4 16)
			       (PT 1 19))
			  (TRI (PT 26 19)
			       (PT 11 5)
			       (PT 34 27))
			  (TRI (PT 26 28)
			       (PT 25 31)
			       (PT 22 4))
			  (TRI (PT 17 0)
			       (PT 21 23)
			       (PT 29 4))
			  (TRI (PT 17 4)
			       (PT 24 8)
			       (PT 33 0))
			  (TRI (PT 39 0)
			       (PT 30 33)
			       (PT 8 6))
			  (TRI (PT 18 16)
			       (PT 6 22)
			       (PT 19 29))
			  (TRI (PT 25 37)
			       (PT 25 1)
			       (PT 32 2))
			  (TRI (PT 34 7)
			       (PT 6 10)
			       (PT 10 32))
			  (TRI (PT 11 0)
			       (PT 26 28)
			       (PT 22 31))
			  (TRI (PT 5 28)
			       (PT 18 26)
			       (PT 12 7))
			  (TRI (PT 1 0)
			       (PT 1 3)
			       (PT 4 0))
			  (TRI (PT 0 0)
			       (PT 0 4)
			       (PT 4 0))
			  (TRI (PT 0 0)
			       (PT 0 10)
			       (PT 10 0))) 
                     EXS-BDY ((TRI (PT 0 0)
				   (PT 1 1)
				   (PT 10 10))
			      (TRI (PT 1 0)
				   (PT 0 0)
				   (PT 0 5))) 
                     EXS-NOT-BDY ((VECTOR (PT 1 3)
					  (PT 2 5)
					  (PT 33 0))) 
                     EXS-NOT (T NIL (TRI)
				(BAG)) 
                     IN-DOM-OF (TRIANGLE-EQUAL) 
                     UP-NOT (ACTIVE PREDICATE))
  (PUTPROPS TRIANGLE-EQUAL WORTH (400 200 100 60) 
                           ALGS [[TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA1)
								(APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA2)
								(EQUAL (SORT (CDR BA1)
									     (QUOTE SORD))
								       (SORT (CDR BA2)
									     (QUOTE SORD]
				 [TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA1)
								(APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA2)
								(EQUAL (APPLYB (QUOTE MEASURE-TRIANGLE)
									       (QUOTE ALGS)
									       BA1)
								       (APPLYB (QUOTE MEASURE-TRIANGLE)
									       (QUOTE ALGS)
									       BA2))
								(EQUAL (TRIANGLE-ORIENTATION BA1)
								       (TRIANGLE-ORIENTATION BA2))
								(EQUAL (MEAS3 BA1)
								       (MEAS3 BA2]
				 (TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA1)
								(APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA2)
								(SORT (CDR BA1))
								(SORT (CDR BA2))
								(APPLYB (QUOTE LINE-EQUAL)
									(QUOTE ALGS)
									(SIDE1 BA1)
									(SIDE1 BA2))
								(APPLYB (QUOTE LINE-EQUAL)
									(QUOTE ALGS)
									(SIDE2 BA1)
									(SIDE2 BA2))
								(APPLYB (QUOTE LINE-EQUAL)
									(QUOTE ALGS)
									(SIDE3 BA1)
									(SIDE3 BA2] 
                           D-R ((TRIANGLE TRIANGLE TRUTH-VAL)) 
                           GUP (PREDICATE) 
                           DEFN [[TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA1)
								(APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA2)
								(EQUAL (SORT (CDR BA1)
									     (QUOTE SORD))
								       (SORT (CDR BA2)
									     (QUOTE SORD]
				 [TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA1)
								(APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA2)
								(EQUAL (APPLYB (QUOTE MEASURE-TRIANGLE)
									       (QUOTE ALGS)
									       BA1)
								       (APPLYB (QUOTE MEASURE-TRIANGLE)
									       (QUOTE ALGS)
									       BA2))
								(EQUAL (TRIANGLE-ORIENTATION BA1)
								       (TRIANGLE-ORIENTATION BA2))
								(EQUAL (MEAS3 BA1)
								       (MEAS3 BA2]
				 (TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA1)
								(APPLYB (QUOTE TRIANGLE)
									(QUOTE DEFN)
									BA2)
								(SORT (CDR BA1)
								      (QUOTE SORD))
								(SORT (CDR BA2)
								      (QUOTE SORD))
								(APPLYB (QUOTE LINE-EQUAL)
									(QUOTE ALGS)
									(SIDE1 BA1)
									(SIDE1 BA2))
								(APPLYB (QUOTE LINE-EQUAL)
									(QUOTE ALGS)
									(SIDE2 BA1)
									(SIDE2 BA2))
								(APPLYB (QUOTE LINE-EQUAL)
									(QUOTE ALGS)
									(SIDE3 BA1)
									(SIDE3 BA2] 
                           UP (PREDICATE ACTIVE) 
                           ENGN "Congruence" 
                           GENL (GENL-TRIANGLE-EQUAL GENL-TRIANGLE-EQUAL-1 GENL-TRIANGLE-EQUAL-2 GENL-TRIANGLE-EQUAL-3 
						     GENL-TRIANGLE-EQUAL-4 GENL-TRIANGLE-EQUAL-5))
  (MAPC D3CONS (QUOTE NEW-CON))
  (MAPC (QUOTE (INV-ADD FACTOR ADD-FACTOR INV-MULTIPLY))
	(QUOTE KILLB))
[DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS 
  (ADDTOVAR NLAMA)
  (ADDTOVAR NLAML)
]
(DECLARE: DONTCOPY
  (FILEMAP (NIL)))
STOP